Printing is the art of producing a pattern on a substrate. The substrate is usually paper and the pattern is usually text and images. A marking engine performs the actual printing by depositing ink, toner, dye, or similar patterning materials on the substrate. For brevity, the word “ink” will be used to represent the full range of patterning materials. In the past, the pattern was introduced to the marking engine in the form of a printing plate. Modernly, digital data is commonly used to specify the pattern. The pattern can be a data file stored in a storage device.
People often want to produce a pattern using different marking engines. When many copies of the pattern are desired it is convenient to use many marking engines. For example, a publisher believing that a book will be very popular might want a few million copies of the book. The publisher can use dozens of marking engines to produce all those copies. One risk that the publisher faces is that different marking engines produce different copies. One marking engine can produce dark copies. Another might produce copies that look too red. Furthermore, marking engines change over time. As such, the marking engines must be calibrated so that they all produce similar copies all of the time.
FIG. 1, labeled as prior art, illustrates producing a tone reproduction curve 108 for a marking engine 102. A storage device 101 stores a calibration patch pattern in the form of data. A calibration patch pattern is a collection of calibration patches. Every calibration patch has a desired color and the desired colors 107 are also stored by the storage device 101. Every color, including black and shades of gray, can be characterized by its reflectance. A marking engine 102 accepts the calibration patch pattern and prints a target patch pattern 103. A target patch pattern 103 contains a number of target patches 104 with each target patch 104 corresponding to a calibration patch.
A reflectance measuring device 105, such as that disclosed in U.S. Pat. No. 6,384,918, can measure the target patch pattern 103. Every target patch 104 has a reflectance and the reflectance measuring device 105 can measure those reflectances. The measured reflectances are the target colors 108. Target colors 108 and desired colors 107 can be utilized by a processor 106 to produce control points 107. A processor 106 can also use the control points 110 to produce a tone reproduction curve 111. The tone reproduction curve 111 can then be stored on a storage device 109.
FIG. 2, labeled as prior art, illustrates one possible target patch pattern 201. There are ten different target patches in the illustrated target patch pattern 201. The black patch 202 is the patch that is most saturated with black ink or toner. The 90% patch 203 is supposed to be 90% as dark as the black patch 202. The 10% patch 204 is supposed to be 10% as dark as the black patch 202. The paper outside of and between the patches can be measured to find the color of unpatterned substrate. The target patch pattern of FIG. 2 uses only black ink. Other target patch patterns use produced with cyan, magenta, and yellow inks as well.
FIG. 3, labeled as prior art, illustrates a TRC 300. TRCs can be used to adjust the amount of ink a marking engine uses to produce a color. The input axis 301 and the output axis 302 are both shown to have values ranging from 0 to 255. Although other ranges can be used to similar effect, the 0-255 range is used here for illustrative purposes. A value of 0 indicates no ink is to be deposited on the substrate. A value of 255 indicates a maximum amount of ink is to be deposited on the substrate. Values between 0 and 255 indicate intermediate amounts of ink are to be deposited. Without a TRC, a request for 100 yellow results in a corresponding amount of yellow ink. With a TRC, a request for 100 yellow can be mapped to a different amount of ink. In FIG. 3, a value of 100 is input 303. The TRC 300 maps the input to the output. The 100 input 303 is mapped to 107 output 304. The TRC 300 of FIG. 3, can be used to map a request for 100 yellow into a request for 107 yellow.
An example of the usefulness of TRCs is using black ink to produce a shade of gray. Under ideal conditions, the desired gray is made by depositing 70 black. The marking engine used, however, always deposits too little black ink. It deposits 70 black when it is asked to deposit 77 black. A TRC can be used to map the 70 to 77. The request for 70 black becomes a request for 77 black. The marking engine then produces the desired shade of gray by depositing 70 black.
Many marking engines use cyan, magenta, and yellow inks in addition to black ink. Cyan, magenta, and yellow are primary colors when used in marking engines because they can be combined in various proportions to produce an entire gamut of colors. As such, a printed image can be thought of as a combination of a cyan image, a magenta image, a yellow image, and a black image. Each of the images in the combination is also known as a color separation. For example, a calibration patch pattern can have four patches, one each of cyan, magenta, yellow, and black. The magenta color separation would appear as a single magenta patch. Similarly, the black color separation would appear as a single black patch.
Another example of the usefulness of TRCs is using cyan, magenta, yellow, and black inks to produce a process gray. A process gray is a gray that is ideally created by depositing no black ink and equal amounts of cyan, magenta, and yellow inks. Marking engines typically deposit an amount of ink other than that requested. The desired gray in this example is ideally made by depositing 128 cyan, 128 magenta, 128 yellow, and 0 black. The marking engine used, however, deposits 128 cyan when 131 is requested, 128 magenta when 127 is requested, 128 yellow when 130 is requested, and 0 black when 0 is requested. TRCs can adjust the requested amounts so that the marking engine is requested to deposit 131 cyan, 127 magenta, 130 yellow, and 0 black. The marking engine then actually deposits 128 cyan, 128 magenta, 128 yellow, and 0 black to produce the desired process gray.
FIG. 4, labeled as prior art, illustrates a high level flow diagram of a process for obtaining control points. After the start 401, a calibration patch pattern can be obtained from a storage device. As discussed above, every calibration patch has a desired color. Next, the calibration patch pattern can be printed on a substrate to produce a target patch pattern 403. The target colors of the target patches in the target patch pattern can then be measured 404. Control points can be determined from the desired colors and target colors 405 because every target color is associated with desired color through the acts of printing and reflectance measurement. Then the process is done 406.
FIG. 4 illustrates one process flow for determining control points. Control points can be obtained or determined in a variety of other ways. Some of those ways are described in U.S. Pat. No. 6,744,531, United States Patent Application Publication No. 20040136015A1, and United States Patent Application Publication No. 2004136013A1, which are incorporated herein by reference.
FIG. 5, labeled as prior art, illustrates a graph 500 with four control points 501. A curve 502 can be fit to the control points. The curve 502 can be used as a TRC. Fitting the curve 502 to the control points 501 is necessary because there is calibration data for only four points and the curve 502, used as a TRC, must be defined for 255 points.
The curve 502 of FIG. 5 was fit to the control points by a person. Curves can also be fit to control points by curve fitting algorithms. Curve fitting algorithms typically interpolate between the control points and extrapolate, if necessary, to the minimum and maximum values that the curve must include. Current curve fitting algorithms and techniques do not produce adequate TRCs when producing TRCs from calibration data because of contouring.
Contouring is a visible artifact that can detract from a printed image. One example appears in printed images having large areas that appear to be one color or shade, such as a picture with a blue cloudless sky. In reality, there are many subtly different areas that are not apparent to the human eye because the areas blend together. An improper TRC can remove the blending effect so that sharply defined areas of slightly different color become readily apparent to the human eye.
Another example of contouring is an image with a smooth transition between two different shades or colors. An improper TRC can remove the smooth transition and replace it with a series of differently colored bands.
Curve fitting algorithms often yield TRCs that produce contours. A need therefore exists for producing TRCs that do not produce contours.